package com.umpay.dto.merBusi.req.diff;

import org.hibernate.validator.constraints.NotEmpty;

import com.umpay.annotation.Pattern;
import com.umpay.verify.Verifiable;

/*******************************************************************
 * description : 退费差异处理请求处理类
 * @author zhangru
 * @date 2018年7月4日 下午4:22:48
 * @version 1.0
 *******************************************************************/
public class RefundDiffBusiReq  implements Verifiable  {
	
	/**
	 * 通信流水
	 */
	@NotEmpty(message = "rpid不能为空")
	@Pattern(message="rpid格式不正确")
	public String rpid;
	
	@NotEmpty(message = "机构号不能为空")
	@Pattern(message="机构号格式不正确")
	private String instId;	//	变长8	机构号	Y	
	
	@NotEmpty(message = "机构交易流水不能为空")
	@Pattern(message="机构交易流水格式不正确")
	private String trace	;	//	机构交易流水	Y	
	
	@NotEmpty(message = "金额不能为空")
	@Pattern(message="金额格式不正确")
	private String amount;	//	变长13	金额	Y	单位：分[1-9]\\d{0,12}
	
	@NotEmpty(message = "差异处理类型不能为空")
	@Pattern(message="差异处理类型格式不正确")
	private String diffType;	//	变长2	差异处理类型	Y	1：差异补账(标商成功，交易失败)  2;退单不付 	3.支付失败交易处理
	
	private String gateId;	//	银行编码
	private String bankSeq;	//银行流水
	private String bankCheckDate;	//	银行对账日期
	
	public String getRpid() {
		return rpid;
	}

	public void setRpid(String rpid) {
		this.rpid = rpid;
	}

	public String getInstId() {
		return instId;
	}

	public void setInstId(String instId) {
		this.instId = instId;
	}

	public String getTrace() {
		return trace;
	}

	public void setTrace(String trace) {
		this.trace = trace;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	public String getDiffType() {
		return diffType;
	}

	public void setDiffType(String diffType) {
		this.diffType = diffType;
	}

	public String getGateId() {
		return gateId;
	}

	public void setGateId(String gateId) {
		this.gateId = gateId;
	}

	public String getBankSeq() {
		return bankSeq;
	}

	public void setBankSeq(String bankSeq) {
		this.bankSeq = bankSeq;
	}

	public String getBankCheckDate() {
		return bankCheckDate;
	}

	public void setBankCheckDate(String bankCheckDate) {
		this.bankCheckDate = bankCheckDate;
	}

	@Override
	public String toString() {
		return "RefundDiffBusiReq [rpid=" + rpid + ", instId=" + instId + ", trace=" + trace + ", amount=" + amount
		        + ", diffType=" + diffType + ", gateId=" + gateId + ", bankSeq=" + bankSeq + ", bankCheckDate="
		        + bankCheckDate + "]";
	}
	
}
